/*
 * @(#)com.listener
 * @(#)CurrentListener.java
 * 
 * Copyright © 2015-2016, All rights reserved.
 * @author G.X  2016年8月9日 上午11:09:24
 */
package com.listener;

import java.util.Map;

import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

import com.entity.XmlBean;
import com.util.Constant;
import com.util.XmlUtil;

/**
 * <P>Description: 资源监听器</P>
 * @ClassName: CurrentListener
 * @author G.X  2016年8月9日 上午11:09:24
 */
public class CurrentListener implements ServletContextListener {

	/** 
	 * <p>Title: contextDestroyed --> 销毁</p>
	 * @author G.X  2016年8月9日 上午11:09:24
	 * @see javax.servlet.ServletContextListener#contextDestroyed(javax.servlet.ServletContextEvent)
	 */
	@Override
	public void contextDestroyed(ServletContextEvent arg0) {
		System.out.println("----> 这里是监听器上下午销毁 contextDestroyed...");
	}

	/**
	 * <p>Title: contextInitialized --> 初始化 </p>
	 * @author G.X  2016年8月9日 上午11:09:24
	 * @see javax.servlet.ServletContextListener#contextInitialized(javax.servlet.ServletContextEvent)
	 */
	@Override
	public void contextInitialized(ServletContextEvent arg0) {
		System.out.println("----> 这里是监听器上下午初始化 contextInitialized...开始...");
		
		/**
		 *  1.加载配置文件
		 *  2.将配置信息放入到 上下文中
		 */
		System.out.println("----> 开始解析加载配置信息....");
		try {
			// 加载配置信息
			Map<String,XmlBean> map = XmlUtil.analytical();
			
			/*
			 * 放入到上下文中
			 */
			ServletContext context = arg0.getServletContext();
			context.setAttribute(Constant.ANALYTICAL_MAP, map);
			
		} catch (Exception  e) {
			e.printStackTrace();
			System.out.println("----> 【error_失败】解析加载配置信息....");
			throw new RuntimeException("----> 【error_失败】解析加载配置信息....");
		}
		System.out.println("----> 成功解析加载配置信息....");
		
		System.out.println("----> 这里是监听器上下午初始化 contextInitialized...结束...");
	}

}
